package com.example.demo.util;

import javax.servlet.http.HttpServletRequest;

import com.example.demo.core.DefineConstant;

/**
 * token工具类
 * @类名 TokenUtil.java
 * @创建者 xzw
 * @创建日期 2022年10月10日
 * @描述 
 *
 */
public class TokenUtil {
	private TokenUtil() {}
	
	/**
	 * 从请求中获取token
	 * @方法名 TokenUtil.java
	 * @创建者 xzw
	 * @创建日期 2022年10月10日
	 * @返回类型 String
	 * @功能描述 先从请求头中获取，如果没有，再从请求参数中获取，如果还没有，则从cookie中获取
	 *
	 */
	public static String getTokenFromRequest(HttpServletRequest request) {
		
		String token = request.getHeader(DefineConstant.AUTH_TOKEN_NAME);
		
		if(EmptyUtil.isEmpty(token)) {
			token = request.getParameter(DefineConstant.AUTH_TOKEN_NAME);
			if(EmptyUtil.isEmpty(token)) {
				token = CookieUtil.getCookieToken(request);
			}
		}
		
		return token;
	}
}
